package 正则表达式练习;

public class ONE {
    public static void main(String[] args) {
        /*需求：请编写正则表达式验证用户输入的手机号码是否满足要求。
	      请编写正则表达式验证用户输入的邮箱号是否满足要求。
	      请编写正则表达式验证用户输入的电话号码是否满足要求。
	      验证手机号码 13112345678 13712345667 13945679027 139456790271
	      验证座机电话号码 020-2324242 02122442 027-42424 0712-3242434
	      验证邮箱号码 3232323@qq.com zhangsan@itcast.cnn dlei0009@163.com dlei0009@pci.com.cn
	   */
        // 1.验证手机号  第一位:1  第二位:3~9 第三位到最后都是任意数字
        String regex="1[3-9]\\d{9}";
        System.out.println("13112345678".matches(regex)); //ture
        System.out.println("13712345667".matches(regex));//ture
        System.out.println("13945679027".matches(regex));//ture
        System.out.println("139456790271".matches(regex));//false
        System.out.println("1-------------------------------------");

        //2.座机号码
        //020-2324242 02122442 027-42424 0712-3242434
        /*座机号码
        第一部分 区号:第一位是 0 开头,第二位是任意数字,整体可以是3为也可以是四位   0\\d{2,3}
        第二部分 -:可以出现也可以不出现,最多出现一次    -?
        第三部分 号码:第一位不能是 0 ,后面可以是任意数字,但是总长度必须是5-10位   \\d&&^0\\d{4.9}
         */
        String regex1="0\\d{2,3}-?[\\d&&[^0]]\\d{4,9}";
        System.out.println("020-2324242".matches(regex1));//false
        System.out.println("02122442".matches(regex1));//false
        System.out.println("027-42424".matches(regex1));//false
        System.out.println("0712-3242434".matches(regex1));//false

        System.out.println("-------------------------------------");
        //3.验证邮箱号码
        //3232323@qq.com zhangsan@itcast.cnn dlei0009@163.com dlei0009@pci.com.cn
        /*思路
        @的左边://w+              //w : [A-Z a-z 0-9 _]  +:至少出现一次
        @: @
        @的右边:第一部分 . 的左边: [//w&&[^_]]{2,6}
                第二部分  .: \\.
                第三部分 .的右边: 大写字母,小写字母都可以,只能出现2~3次  [a-zA-Z]{2,3}
                                因为.后面的可能出现1次或者2次所以可以看成一组 (\\.[a-zA-Z]{2,3}){1,2}
                                ()表示分组的意思.
         */
        //注意当运用&&符号的时候后面的正则需要写[]否则会出现错误
        String regex2="\\w+@[\\w&&[^_]]{2,6}(\\.[a-zA-Z]{2,3}){1,2}";
        String regex3="\\w+@[\\w&&[^_]]{2,6}(\\.[a-zA-Z]{2,3}){1,2}";
        System.out.println("3232323@qq.com".matches(regex3));
        System.out.println("zhangsan@itcast.cnn".matches(regex2));
        System.out.println("dlei0009@163.com".matches(regex2));
        System.out.println("dlei0009@pci.com.cn".matches(regex2));

        String regex4="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/";
    }
}
